// import React from 'react';
// import { View, StyleSheet, Text, Platform } from 'react-native';
// import CodePush from 'react-native-code-push';
// import Config from '../config';
// import { Toast, Alert } from '~/components';
// import { DefaultStyles } from '~/styles/GlobalStyles';
// import Numeral from 'numeral';
// import { getVersionList } from '../api/version';
// import YiautosUpgrader from 'react-native-yiautos-upgrader';
// import ReactNativeFS from 'react-native-fs';
// import { Portal } from '@ant-design/react-native';
//
// export const codePushCheckUpdate = async () => {
//   if (__DEV__) {
//     console.log('开发环境无需热更新 ==>');
//     return false;
//   }
//
//   try {
//     console.log('即将询问热更新信息 ==>', Config.CODE_PUSH_KEY);
//     const message = await CodePush.checkForUpdate(Config.CODE_PUSH_KEY);
//     console.log('code-push-update-message ==>', message);
//     if (message) {
//       Alert.show({
//         title: '发现新版本',
//         content: <UpdateMessage message={message} />,
//         onConfirm: downloadUpdate,
//         hideCancel: message.isMandatory,
//         onClose: Alert.hide,
//       });
//       return true;
//     } else {
//       return false;
//     }
//   } catch (e) {
//     console.log('code-push-update-error ==>', e);
//     return true;
//   }
// };
// export const checkOriginUpdate = async () => {
//   try {
//     console.log('config', Config);
//     let VersionData = await getVersionList();
//     let Version = VersionData.data.content;
//     console.log(VersionData);
//     if (VersionData.code === 200 && Version && Version.length) {
//       let newVersionData = Version[0];
//       if (
//         newVersionData[
//           Platform.OS === 'ios'
//             ? 'iosDownloadAddress'
//             : 'androidDownloadAddress'
//         ] === 'none'
//       ) {
//         return true;
//       }
//       if (
//         newVersionData.versionNo !== Config.VERSION_CODE &&
//         newVersionData.updateTime > Config.BUILD_TIME
//       ) {
//         const isConfirmClose =
//           newVersionData.isForcedUpdating &&
//           newVersionData.isForcedUpdating.code === 1;
//         Alert.show({
//           title: '发现新版本',
//           content: <OriginUpdateMessage message={newVersionData} />,
//           onConfirm: async () => {
//             await downLoadOriginUpdate(
//               newVersionData[
//                 Platform.OS === 'ios'
//                   ? 'iosDownloadAddress'
//                   : 'androidDownloadAddress'
//               ]
//             );
//           },
//           hideCancel: isConfirmClose,
//           onClose: Alert.hide,
//           isConfirmClose: false,
//         });
//         return false;
//       } else {
//         return true;
//       }
//     } else {
//       return true;
//     }
//   } catch (e) {
//     console.log('Origin-update-error ==>', e);
//     return true;
//   }
// };
//
// function downloadUpdate() {
//   Toast.loading('正在更新中...');
//   CodePush.sync(
//     {
//       updateDialog: false,
//       deploymentKey: Config.CODE_PUSH_KEY,
//       installMode: CodePush.InstallMode.IMMEDIATE,
//     },
//     status => {
//       console.log('status', status);
//       switch (status) {
//         case CodePush.SyncStatus.DOWNLOADING_PACKAGE:
//           break;
//         case CodePush.SyncStatus.INSTALLING_UPDATE:
//           break;
//         case CodePush.SyncStatus.UNKNOWN_ERROR:
//           break;
//       }
//     },
//     progress => {
//       console.log('CodePush下载进度 ==>', progress);
//     }
//   );
// }
// function downLoadOriginUpdate(downloadUrl) {
//   let urlArr = downloadUrl.split('/');
//   let urlArrLen = urlArr.length;
//   console.log(
//     '下载目录 ==>',
//     ReactNativeFS.CachesDirectoryPath,
//     urlArr[urlArrLen - 1]
//   );
//   YiautosUpgrader.startDownload(
//     {
//       downloadUrl: downloadUrl,
//       fileName: urlArr[urlArrLen - 1],
//       dirName: ReactNativeFS.ExternalDirectoryPath + '/download',
//     },
//     result => {
//       console.log('下载结果', result);
//       const type = result && result.type;
//       if (type === 'ios') Alert.hide();
//       if (type === 'taskStart') {
//         Alert.hide();
//         this.key = Toast.loading('下载中...', 0);
//       }
//       if (type === 'success') {
//         setTimeout(() => {
//           Portal.remove(this.key);
//           YiautosUpgrader.startInstall({
//             filePath:
//               ReactNativeFS.ExternalDirectoryPath +
//               `/download/${urlArr[urlArrLen - 1]}`,
//           });
//         }, 2000);
//       }
//     }
//   );
// }
//
// function UpdateMessage({ message = {} }) {
//   console.log('Update Message ==>', message);
//
//   const {
//     appVersion = '未知',
//     description = '暂无信息',
//     label = '未知',
//     packageSize = 0,
//   } = message;
//
//   return (
//     <View style={{ width: '100%', paddingHorizontal: 20 }}>
//       <Text style={styles.updateItemText}>
//         App版本: {appVersion}-{label}
//       </Text>
//       <Text style={styles.updateItemText}>更新内容: {description}</Text>
//       <Text style={styles.updateItemText}>
//         更新包大小: {Numeral(packageSize / 1024 / 1024).format('0.00')}MB
//       </Text>
//       <Text style={styles.updateItemText}>请点击确认键进行更新!</Text>
//     </View>
//   );
// }
// function OriginUpdateMessage({ message = {} }) {
//   console.log('Update Message ==>', message);
//
//   const { versionNo = '未知', updateContent = '暂无信息' } = message;
//
//   return (
//     <View style={{ width: '100%', paddingHorizontal: 20 }}>
//       <Text style={styles.updateItemText}>App版本: {versionNo}</Text>
//       <Text style={styles.updateItemText}>更新内容: {updateContent}</Text>
//       <Text style={styles.updateItemText}>请点击确认键进行更新!</Text>
//     </View>
//   );
// }
//
// const styles = StyleSheet.create({
//   updateItemText: {
//     marginBottom: 12,
//     ...DefaultStyles.Regular,
//     fontSize: 14,
//     color: DefaultStyles.Black84,
//   },
// });
